<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>


    <script>

        // 函数柯理化：把一个传多参的函数，变成只能接收一个参数的函数，且返回一个接收余下参数的函数，最终返回函数的执行结果

        // 利用了闭包

        // function sum(a , b) {
        //     return a + b
        // }

        // function sum(a) {
        //     return function (b) {
        //         return a + b
        //     }
        // }

        // console.log(sum(1)(2));


        // 注册验证
        //   用户名  6-12  数字不能开头
        // const userReg = /^[a-zA-Z]\w{5,11}$/ ;

        // const pwdReg = /^\w{6,10}$/ ;

        // const username = 'yy' ;

        // const pwd = '123' ;

        // if(userReg.test(username)) {}

        // if(pwdReg.test(pwd)) {}


        // 封装函数

        function test(reg , str) {
            return reg.test(str)
        }

        // test(/^[a-zA-Z]\w{5,11}$/ , uername)

        // test(/^\w{6,10}$/ , pwd)


        // 柯理化
        function test(reg) {
            return function(str) {
                return reg.test(str)
            }
        }



    </script>
    
</body>
</html>